#include <iostream>
using namespace std;

const int N = 100010;
int m, k, x;
string op;

class d_list
{
private:
    int e[N];
    int l[N];
    int r[N];
    int idx;
    //这里没有定义头指针是因为直接牺牲两个空间，用0和1来代表左端和右端
public:
    d_list();
    void l_head_add(int x);
    void r_head_add(int x);
    void l_add(int k, int x);
    void r_add(int k, int x);
    void del(int k);
    bool is_empty();
    void show();
};

d_list::d_list()
{
    r[0] = 1;
    l[1] = 0;
    idx = 2;
}

void d_list::l_head_add(int x)
{
    e[idx] = x;
    r[idx] = r[0];
    l[idx] = 0;
    l[r[0]] = idx;
    r[0] = idx++;
    return;
}

void d_list::r_head_add(int x)
{
    e[idx] = x;
    r[idx] = 1;
    l[idx] = l[1];
    r[l[1]] = idx;
    l[1] = idx++;
    return;
}

void d_list::l_add(int k, int x)
{
    e[idx] = x;
    r[idx] = k + 1;
    l[idx] = l[k + 1];
    r[l[k + 1]] = idx;
    l[k + 1] = idx++;
    return;
}

void d_list::r_add(int k, int x)
{
    e[idx] = x;
    r[idx] = r[k + 1];
    l[idx] = k + 1;
    l[r[k + 1]] = idx;
    r[k + 1] = idx++;
    return;
}

void d_list::del(int k)
{
    l[r[k + 1]] = l[k + 1];
    r[l[k + 1]] = r[k + 1];
    return;
}

bool d_list::is_empty()
{
    return r[0] == 1;
}

void d_list::show()
{
    if (is_empty())
        return;
    for (int i = r[0]; i != 1; i = r[i])
        printf("%d ", e[i]);
    return;
}

int main()
{
    d_list dli;
    scanf("%d", &m);
    while (m--)
    {
        cin >> op;
        if (op == "L")
        {
            scanf("%d", &x);
            dli.l_head_add(x);
        }
        else if (op == "R")
        {
            scanf("%d", &x);
            dli.r_head_add(x);
        }
        else if (op == "D")
        {
            scanf("%d", &k);
            dli.del(k);
        }
        else if (op == "IL")
        {
            scanf("%d%d", &k, &x);
            dli.l_add(k, x);
        }
        else
        {
            scanf("%d%d", &k, &x);
            dli.r_add(k, x);
        }
    }
    dli.show();
    return 0;
}